﻿using Mt.Site.Core.Organizations.UserCache;
using Mt.Site.Core.WorkFlows.Enum;
using System;

namespace Mt.Site.Core.WorkFlows.Design.Cache
{
    [Serializable]
    public class WorkFlowNodeCacheItem : IWorkFlowNodeCacheItem
    {
        /// <summary>
        /// 流程ID
        /// </summary>
        public Guid WorkflowId { get; set; }

        public Guid NodeId { get; set; }

        public int Order { get; set; }

        public string Name { get; set; }

        public string ShortName { get; set; }

        public string Description { get; set; }

        public ActionScheme ActionScheme { get; set; }

        public Guid[] NextNodeList { get; set; }

        public Guid[] BackNodeList { get; set; }

        public long[] UserIdList { get; set; }

        public string[] ActionList { get; set; }

        public bool CanEditAttachment { get; set; }

        public OperatorFilter BeforeSelectFilter { get; set; }

        public string[] BeforeSelectMoreFilter { get; set; }
        public OperatorFilter SelectedFilter { get; set; }
        public string[] SelectedMoreFilter { get; set; }
        public string HandlingTimeLimit { get; set; }

        /// <summary>
        /// 在可确定下一步的节点和人员后，是否自动发送
        /// </summary>
        public bool IsAutoSendToNext { get; set; }

        public string OptionFunction { get; set; }

        public WorkflowNodeCustomData CustomData { get; set; }

        public bool IsActive { get; set; }
    }
}
